//-----------------------------------【头文件包含部分】---------------------------------------
//     描述：包含程序所依赖的头文件
//----------------------------------------------------------------------------------------------
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"

//-----------------------------------【命名空间声明部分】---------------------------------------
//     描述：包含程序所使用的命名空间
//-----------------------------------------------------------------------------------------------
using namespace cv;

//-----------------------------------【main( )函数】--------------------------------------------
//     描述：控制台应用程序的入口函数，我们的程序从这里开始
//-----------------------------------------------------------------------------------------------
int main()
{
    //载入原图
    Mat image = imread("2.png");

    //创建窗口
    namedWindow("均值滤波【原图】");
    namedWindow("均值滤波【效果图】");

    //显示原图
    imshow("均值滤波【原图】", image);

    //进行滤波操作
    Mat out;// 原图     输出的效果图     -1代表使用原图深度    w 为像素宽度， h为像素高度 5*5核  
    boxFilter(image,   out,            -1,             Size(5, 5)); 
                 // 默认值Point(-1,-1)表示这个锚点在核的中心   
                 // 默认值true，表示内核被其区域归一化 
                 // 默认值borderType，用于推断图像外部像素的某种边界模式
    //显示效果图
    imshow("均值滤波【效果图】", out);

    waitKey();

    return 0;
}